-
Notifications
You must be signed in to change notification settings - Fork 72
TypeDB Core Concepts #958
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeDB Core Concepts #958
Conversation
a61035a
to
47a0128
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wasn't meant to review the TypeDB folder because I was assigned drivers, but I didn't notice I crossed over.
@@ -17,6 +17,8 @@ Key responsibilities of a TypeDB driver include: | |||
* **Error handling**: Converting server errors into language-specific exceptions | |||
* **Resource management**: Properly managing network resources and memory | |||
|
|||
Check out the available xref:{page-version}@new_reference::typedb-grpc-drivers/index.adoc[gRPC drivers] and xref:{page-version}@new_reference::typedb-http-drivers/index.adoc[HTTP helper libraries] to find a driver that works for you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strange place to have it. Why not add it in the beginning
They provide a programming language-specific interface for all database operations, from connection management to query execution. Check the list of languages available here
. Fill in your password and hit *Connect*. Your password can be found in your downloaded credentials file (if you have one). | ||
|
||
For an enterprise deployment: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How come enterprise and not CE? Why does a cluster have a single address?
|
||
[tabs] | ||
==== | ||
Studio:: | ||
+ | ||
-- | ||
For a cloud deployment: | ||
|
||
// include::../tools/studio.adoc[tag=connect_cloud_studio] | ||
. In the https://cloud.typedb.com[TypeDB Cloud website], navigate to your cluster and click *Connect*. Then, click *Connect with TypeDB Studio*. This will launch TypeDB Studio. | ||
. Fill in your password and hit *Connect*. Your password can be found in your downloaded credentials file (if you have one). | ||
|
||
For an enterprise deployment: | ||
|
||
// include::../tools/studio.adoc[tag=connect_enterprise_studio] | ||
. Launch TypeDB Studio. | ||
. Enter the address of the HTTP endpoint of your cluster. By default, this is at port 8000. | ||
. Enter your username and password. | ||
. Click `Connect`. | ||
-- | ||
Console:: | ||
+ | ||
-- | ||
Run Console in CLI: | ||
|
||
//include::../tools/console.adoc[tag=connect_console] | ||
.Connect to TypeDB | ||
[source,console] | ||
---- | ||
typedb console --address=<server-address> --username=<username> | ||
---- | ||
|
||
You will be prompted for a password. | ||
-- | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why bother at all here when they have there dedicated pages under /tools
?
== Create | ||
|
||
When a database is created, it contains no data. The first step to building a rich, structured knowledge base is to insert data into the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Except that can't be the first step because you need a schema
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While true, CRUD specifically covers data. Schema is briefly touched on in databases.adoc (which comes before in the page list).
$parentship isa parentship, links (parent: $p, child: $c); | ||
update | ||
$parentship links (parent: $c, child: $p); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need to update my docs to include links.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I hope this page will be expanded.
Else, I'd nuke it as "being obvious" and rename horizonal-scaling to high-availability for clarity.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIUC, this is meant to be sort of a stub until we have useful vertical scaling configuration.
This section provides a foundational understanding of the TypeDB's design and usage. TypeDB is a polymorphic database designed to represent and query complex systems. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Redundancy with second paragraph.
with a sample database and queries. This section of the documentation covers the architecture and design of TypeDB. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't send them away. This isn't the first page they arrive on. It's a core-concepts page.
Turn this into the index.adoc
and send them to one of the pages within this chapter.
This section of the documentation covers the architecture and design of TypeDB.
This is a good sentence to lead the page-listing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some of the content seems redundant, given we have a "What is TypeDB" and "Why TypeDB" section.
We can start with a paragraph liner on what it's good for. I prefer this ordering of sentences, since it's "What > Why > How?":
TypeDB is designed for a wide range of applications, from startups needing a scalable backend for a knowledge base to large enterprises requiring high-throughput transactional systems. TypeDB's core philosophy is centered on its strong type system, making it particularly well-suited for knowledge-intensive applications. Key
features include full ACID compliance for transactional integrity, a logical schema for modeling complex data, and a robust replication system for high availability.
Given the content of the rest of the section, I'd expect the overview to cover the general architecture of TypeDB. Things like:
- It's built on top of RocksDB and optimised for OLTP workloads.
- Provides ACID guarantees till snapshot isolation.
- Has a cluster implementation for High-availability based on raft.
- Available as CE & also managed on cloud.
- Maybe even: Implemented in rust / Uses GRPC for most drivers, but also has an HTTP endpoint.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does this page exist here, given we have:
- A dedicated page each for console and studio that already covers how to connect using them
- A driver directory as a direct sibling of this one which covers the driver connections
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm honestly not sure. I don't think there's much to the concept of connections I can cover, so I just gave quickstart-level instructions to connect.
a12a587
to
cd6a39a
Compare
No description provided.